LINE 台灣工程師,負責 LINE SPOT 專案 Server-side 的開發
大家好我是LINE Taiwan 的軟體工程師 Chang-Yen, Huang,負責的是 SPOT Team(LINE熱點)Server-side 的開發 ,今天要來跟大家介紹一下Open Policy Agent。為了避免安全性的問題,現在大多數雲端服務裡都會有權限管理(AuthZ)相關的實作。所謂的權限管理,即是通過限制使用者可以操作的資料範圍,來避免用戶誤改到其他不應有權限修改的資料 。而隨著 microservice 的架構越來越普遍,microservice 在實作權限管理的部分很容易會遭遇到挑戰。當服務比較單純時,實作上或許可以在各自操作呼叫的地方直接用程式碼做判斷。但是當系統架構越來越龐、越來越複雜時,光是一個簡單的邏輯更換,就得翻遍程式碼,修改每一個當初寫權限邏輯的地方做修改,在維護上就造成了許多困擾。身為工程師當然不能容許這麼勞累的事,因此,大型系統通常會將權限管理獨立出來成為一個服務,並讓需要權限控管的服務在執行前都透過該服務來檢查權限。但即便如此,還是會有一些問題無法避免,例如需要修改權限時要重新編譯做測試、需要外部相依作為判斷依據的資料等等,這就是為什麼,接下